阅读完本文,你将学会如何把自己训练好的目标检测、物体分类和实例分割模型部署到 HUSKYLENS 2(二哈识图 2)上,让设备识别指定的物体。本文将带你完成「准备数据集 → 训练模型 → 导出 ONNX 模型 → 生成安装包 → 安装到 HUSKYLENS 2」的完整流程。整个过程只需一台运行 Windows 10 或更高版本系统的电脑。即使没有 AI 模型训练经验,也可以按照本文步骤完成操作。
提示:使用模型安装功能前,建议将 HUSKYLENS 2 固件升级到最新版本。固件版本查看与烧录教程:点击查看。
1. 自训练模型安装介绍
除了预置的 20 多种视觉识别模型外,HUSKYLENS 2 还支持通过“模型安装”功能,将用户自行训练的目标检测、物体分类和实例分割模型部署到设备中,满足个性化视觉识别项目的需求。
简单来说,如果你想让 HUSKYLENS 2 识别预置模型无法识别的物体(如家中的宠物、某个玩具或特定零件),可以自行收集相关照片、训练模型,再将模型安装到 HUSKYLENS 2。安装完成后,即可像使用预置模型一样使用自训练模型。
如果你希望跳过模型训练、快速开始使用,也可以直接从模型中心下载可直接使用的自训练模型。
部署自训练模型主要包括以下步骤:
- 准备数据集:收集并整理需要识别的物体图片,按照规定格式存放。
- 训练模型:在电脑上训练模型(HUSKYLENS 2 仅支持本文列出的模型架构)。
- 导出模型:将训练得到的模型文件转换为 ONNX 格式。
- 生成安装包:使用官方提供的“模型安装包生成器”,将 ONNX 模型打包为安装包。
- 安装部署:将安装包复制到 HUSKYLENS 2,完成本地安装。
下面将分别介绍如何把自训练的目标检测、物体分类和实例分割模型部署到 HUSKYLENS 2。
2. 目标检测模型安装
2.1 什么是目标检测模型
目标检测(Object Detection)是常见的视觉识别任务之一。它不仅能判断画面中“有什么物体”,还能用方框标出每个物体的位置,并给出类别名称和置信度(即模型对判断结果的把握程度)。你可以把它理解为“边识别边画框”:例如摄像头前同时出现猫和狗时,模型会分别框出猫和狗,并标注“猫 0.92”“狗 0.88”等结果。
目标检测模型的特点可以概括为:
- 能同时识别画面中的多个物体,并分别框出每个物体的位置。
- 每个识别结果都包含类别名称、位置框和置信度,方便你后续做判断或控制。
- 特别适合需要"找到物体在哪、是什么"的场景,例如垃圾分类、零件识别、动物识别等。
YOLO(You Only Look Once)是目前常用的目标检测算法之一,具有速度快、精度高、易于上手等特点。HUSKYLENS 2 支持部署 YOLO 系列中的 YOLOv8n 和 YOLO11n 两种轻量级目标检测架构。下面将以 YOLO 目标检测模型为例,介绍训练与部署方法。
2.2 YOLO 目标检测数据集准备
训练目标检测模型的第一步是准备数据集。数据集可以理解为“给模型看的教材”,其中包含图片,以及图片中物体的位置和类别标注。模型通过反复学习这些“图片 + 标注”,逐步掌握物体识别能力。
HUSKYLENS 2 的模型安装包生成器要求数据集采用标准的 YOLO 格式。一个标准的 YOLO 目标检测数据集,文件夹结构如下:
dataset_dir
├── data.yaml
├── images
│ ├── train
│ │ ├── image_001.jpg
│ │ └── ...
│ └── val # 可选;转换时不会读取
│ └── ...
└── labels
├── train
│ ├── image_001.txt
│ └── ...
└── val # 可选;转换时不会读取
└── ...
在这个结构中,各文件和文件夹的作用如下:
data.yaml:数据集配置文件,用于定义训练、验证数据的路径和类别名称。images/train:存放训练用的原始图片。labels/train:存放每张图片对应的标注文件。标注文件和图片一一对应、同名,只是扩展名不同:图片叫image_001.jpg,标签就叫image_001.txt。
data.yaml(也常命名为 dataset.yaml)的内容示例如下:
path: ./ # 可选:相对于此 YAML 文件的数据集根目录
train: ./images/train # 训练图片的路径
val: ./images/val
names:
0: person
1: car
文件中各项的含义如下:
path:数据集根目录,可以省略。省略时以 yaml 文件所在目录为基准。train:训练图片所在的目录(相对路径)。names:类别编号与名称的对照表,编号从 0 开始依次递增。
这里我们提供一个标准 YOLO 格式的猫狗数据集,可直接用于目标检测模型训练,供你参考:数据集和模型示例
提示:如果你使用常见的标注工具(如 LabelImg、Roboflow 等),请记得把标注结果导出为 YOLO 格式(一张图片对应一个 txt 文件)。
如需了解 YOLO 目标检测数据集的详细格式、更多示例,以及从其他格式(如 COCO)转换的方法,请参阅 Ultralytics 官方教程:Object Detection Datasets。该文档提供了完整的数据集目录示例和标签格式说明。
2.3 目标检测模型训练
数据集准备好之后,就可以开始训练模型了。训练模型需要一定的 Python 环境和 Ultralytics 库支持,如果你还不熟悉,可以先参考 Ultralytics 官方入门教程:快速入门。
请特别注意以下两点:
- HUSKYLENS 2 仅支持架构为 YOLOv8n 和 YOLO11n 的自训练模型,其他架构(如 YOLOv8s、YOLO11s、YOLOv5 等)都不支持,训练时请只在这两类里选择。
- HUSKYLENS 2 仅支持 224 × 224、320 × 320 和 640 × 640 这三种输入尺寸。
下面给出完整的训练代码示例,只需将其中的路径替换为实际路径:
from ultralytics import YOLO
if __name__ == "__main__":
# 加载预训练模型
# HUSKYLENS 2 仅支持 "yolov8n.pt" 和 "yolo11n.pt" 两种,请勿使用其他型号
model = YOLO("yolov8n.pt") # 也可以换成 "yolo11n.pt"
# 训练模型
# data : 你自己的 dataset.yaml 文件路径,请替换成实际路径
# epochs: 训练轮数,轮数越多通常精度越高,但耗时也越长,可先从 30 开始
# imgsz : 输入图片尺寸,HUSKYLENS 2仅支持 224 / 320 / 640
results = model.train(
data="path/to/your_dataset.yaml", # 例如 r"D:\datasets\mydata\dataset.yaml"
epochs=30,
imgsz=640,
)
训练完成后,Ultralytics 会在 runs/detect/train/weights/ 目录下生成模型权重文件,其中 best.pt 是效果最好的模型。
训练得到的是 .pt 格式的模型文件,而 HUSKYLENS 2 的模型安装需要 ONNX 格式的模型。因此还需要把 .pt 转换成 .onnx。转换代码如下:
from ultralytics import YOLO
if __name__ == "__main__":
# 加载训练好的模型权重(请替换成你的 best.pt 实际路径)
model = YOLO("path/to/best.pt") # 例如 r"D:\...\runs\detect\train\weights\best.pt"
# 导出为 ONNX 格式,导出后会在同目录下生成 best.onnx
# imgsz 需与训练时的输入尺寸保持一致(224 / 320 / 640)
model.export(format="onnx", imgsz=640)
执行成功后,best.pt 所在目录中会生成 best.onnx 文件,后续生成安装包时将使用该文件。
你可以使用数据集和模型示例,参考上方代码训练猫狗识别目标检测模型,下载的样例数据集中包含对应已经训练好的onnx模型。
关于训练和导出教程,请参考 Ultralytics 官方教程:Model Training 和 Model Export。
2.4 生成安装包
训练并导出 ONNX 模型后,不能直接将其复制到 HUSKYLENS 2 使用。自训练模型需要通过 HUSKYLENS 2 的模型安装功能,以“安装包”的形式部署。官方提供的 HUSKYLENS 2 模型安装包生成器可将 ONNX 模型打包为HUSKYLENS 2能够识别的 ZIP 安装包。
2.4.1 下载 HUSKYLENS 2 模型安装包生成器
使用模型安装包生成器之前,需要先准备好电脑环境:
- 电脑使用 Windows 系统,且为 Windows 10 及以上版本。
- 安装 .NET 7.0 运行环境(程序运行依赖)。请点击打开 .NET 7.0 下载页面:.NET 7.0;如果电脑是 64 位 Windows,请选择 Windows x64 版本下载并安装。
2.4.2 生成 HUSKYLENS 2 目标检测模型安装包
下载并解压工具后,双击运行 HUSKYLENS2_Package_Generator.exe。工具界面如下。
HUSKYLENS2_Package_Generator 的各功能区域及操作步骤如下。
下面以猫狗识别为例,演示生成目标检测模型安装包的完整流程。如果你想跟随示例操作,请下载数据集和模型示例。
开始之前,请先在工具顶部完成以下三项基础设置:
- 选择界面语言:切换到你习惯的语言(支持 English、简体中文、繁體中文等八种语言)。
- 选择输出目录:选择安装包的保存位置,生成的 ZIP 安装包将保存到该目录。
- 选择数据来源:保持默认的 YOLO 即可。
步骤一:选择数据集文件夹
点击 数据集文件夹,找到训练模型时用到的 YOLO 格式数据集文件夹,点击加载。
使用样例数据集时,请解压下载文件并选择 sample_datasets/Object Detection/Cat and Dog Object Detection Dataset 文件夹。
步骤二:选择 ONNX 模型
点击 ONNX 模型,选择使用该数据集训练并导出的 ONNX 模型文件,然后加载。
步骤三:确认模型参数信息
加载模型后,工具会自动检测并显示相关参数。请检查参数是否正确,并确认其与训练时的设置一致。
步骤四:完成模型应用在 HUSKYLENS 2 中的相关设置
-
在 应用名称 中设置模型部署到 HUSKYLENS 2 后显示的应用名称,例如
猫狗目标检测。 -
手动换行:输入框输入应用名称时,按 Enter 会插入
\n换行符。 -
自动换行:英文每行最多 12 个字母,中文每行最多 6 个文字,超出部分会自动换行,最多显示两行。
-
点击 添加 可设置其他语言对应的应用名称;用户可添加八种语言中的其他语言名称;未单独填写的语言使用当前默认名称补齐;切换 HUSKYLENS 2 的系统语言时,应用名称也会相应切换。
工具会为模型应用分配默认图标。你也可以点击 选择图标,选择本地图片作为该应用在 HUSKYLENS 2 中显示的图标。
- 应用图标建议使用正方形、透明背景、白色线条的图片(与 HUSKYLENS 2 原生图标风格一致),也支持彩色图标;尺寸为 60 × 60 像素,选择其他尺寸的图片会被自动处理为 60 × 60。
你还可以设置模型在 HUSKYLENS 2 中的默认识别阈值。
步骤五:生成模型安装包
完成以上设置后,点击 开始 生成模型安装包。在生成完成前,请勿关闭工具。
目标检测模型安装包生成成功后,会出现以下提示。
生成的目标检测模型安装包可在所选输出目录中找到。安装包命名格式为“应用名-模型版本-任务类型-输入尺寸.校验码.zip”,例如 猫狗目标检测-YOLO11n-det-640.9eb6.zip。
- 请勿修改生成的 ZIP 安装包,包括包内文件和安装包文件名,否则 HUSKYLENS 2 将无法识别该安装包。
2.4.3 部署自训练目标检测模型至 HUSKYLENS 2
生成安装包后,即可将其安装到 HUSKYLENS 2:
使用 USB 线将 HUSKYLENS 2 连接到电脑,电脑上会出现一个名为 HUSKYLENS 2 的 U 盘。
把生成的 ZIP格式的模型安装包复制到HUSKYLENS 2的U 盘中的以下路径:
Huskylens\storage\installation_package
安装完成后,你就可以在功能列表中找到自己训练的目标检测模型了。
点击模型图标即可观察该模型的检测效果。以下是猫狗识别模型的检测效果。
测试图片如下。
如需删除模型,请在屏幕上找到已部署的自训练模型,长按应用图标,然后点击“确认”。
3. 物体分类模型安装
3.1 什么是物体分类模型
物体分类(Image Classification)是较为基础的视觉识别任务。它对整张图片给出类别判断,即回答“这张图是什么类别”。输出结果仅包含类别名称和置信度,不会标出物体位置,也不会同时输出多个目标。
物体分类模型的特点可以概括为:
- 只输出一个类别标签和置信度,结果最简单直观。
- 数据集不需要画框标注,制作成本低、上手快。
- 适合"只需要知道这是什么、不需要知道位置"的场景,例如垃圾分类、果蔬分类、宠物种类识别等。
HUSKYLENS 2 支持部署 YOLOv8n-cls 和 YOLO11n-cls 两种轻量级分类架构。下面就以 YOLO 物体分类模型为例,介绍如何训练并部署。
3.2 YOLO 物体分类数据集准备
物体分类数据集比目标检测数据集更简单,它不需要框选标注。只需将不同类别的图片分别放入对应文件夹,文件夹名称即为类别名称,模型会据此学习各个类别。
一个标准的 YOLO 物体分类数据集,文件夹结构如下:
dataset_dir
├── train
│ ├── class_1
│ │ ├── image_001.jpg
│ │ └── ...
│ └── class_2
│ ├── image_002.jpg
│ └── ...
└── val # 可选;转换时不会读取
└── ...
在这个结构里,每个文件夹的作用如下:
train:存放训练用的图片。class_1/class_2:类别文件夹,文件夹名就是类别名,里面存放对应类别的图片。val(可选):存放验证图片,结构与train相同,转换时不会读取。
注意:分类数据集不需要 data.yaml 配置文件,也不需要像目标检测数据集那样准备标签文件。训练时,直接将 data 指向包含 train 文件夹的数据集根目录即可。
这里提供了一个猫狗分类数据集(Cat and Dog Classification Dataset),可直接用于物体分类模型训练:数据集和模型示例。
关于 YOLO 物体分类数据集更详细的格式说明,建议阅读 Ultralytics 官方教程:Image Classification Datasets。
3.3 物体分类模型训练
数据集准备好之后,就可以开始训练模型了。物体分类模型的训练同样使用 Ultralytics 库,如果你还不熟悉,可以先参考 Ultralytics 官方入门教程:快速入门。
请特别注意以下两点:
- HUSKYLENS 2 仅支持架构为 YOLOv8n-cls 和 YOLO11n-cls 的自训练分类模型,其他架构都不支持,训练时请只在这两类里选择。
- HUSKYLENS 2 仅支持 224 × 224、320 × 320 和 640 × 640 这三种输入尺寸。
下面给出完整的训练代码示例,只需将其中的路径替换为实际路径:
from ultralytics import YOLO
if __name__ == "__main__":
# 加载预训练分类模型
# HUSKYLENS 2 仅支持 "yolov8n-cls.pt" 和 "yolo11n-cls.pt" 两种,请勿使用其他型号
model = YOLO("yolov8n-cls.pt") # 也可以换成 "yolo11n-cls.pt"
# 训练模型
# data : 数据集根目录(包含 train 的那个文件夹),分类任务直接指向文件夹,不是 yaml 文件
# epochs: 训练轮数,轮数越多通常精度越高,但耗时也越长,可先从 30 开始
# imgsz : 输入图片尺寸,HUSKYELNS 2仅支持 224 / 320 / 640
results = model.train(
data="path/to/Cat and Dog Classification Dataset", # 例如 r"D:\...\Cat and Dog Classification Dataset"
epochs=30,
imgsz=640,
)
训练完成后,Ultralytics 会在 runs/classify/train/weights/ 目录下生成模型权重文件,其中 best.pt 是效果最好的模型。
训练得到的是 .pt 格式的模型文件,而 HUSKYLENS 2 的模型安装需要 ONNX 格式的模型。因此还需要把 .pt 转换成 .onnx。转换代码如下:
from ultralytics import YOLO
if __name__ == "__main__":
# 加载训练好的分类模型权重(请替换成你的 best.pt 实际路径)
model = YOLO("path/to/best.pt") # 例如 r"D:\...\runs\classify\train\weights\best.pt"
# 导出为 ONNX 格式,导出后会在同目录下生成 best.onnx
# imgsz 需与训练时的输入尺寸保持一致(224 / 320 / 640)
model.export(format="onnx", imgsz=640)
执行成功后,best.pt 所在目录中会生成 best.onnx 文件,后续生成安装包时将使用该文件。
你可以使用数据集和模型示例,参考上方代码训练猫狗分类模型。下载的样例文件中还包含已经训练并导出的 ONNX 模型。
关于训练和导出教程,请参考 Ultralytics 官方分类任务教程:Image Classification。
3.4 生成安装包
训练并导出 ONNX 模型后,同样需要将其打包为 HUSKYLENS 2 能够识别的 ZIP 安装包。这里使用的仍是第 2 节介绍的 HUSKYLENS 2 模型安装包生成器。
3.4.1 下载 HUSKYLENS 2 模型安装包生成器
如果已按照 2.4.1 节安装 .NET 7.0 运行环境并下载 HUSKYLENS2_Package_Generator.exe,可直接跳到 3.4.2 节;否则,请先完成以下准备:
- 电脑使用 Windows 系统,且为 Windows 10 及以上版本。
- 安装 .NET 7.0 运行环境(程序运行依赖)。请点击打开 .NET 7.0 下载页面:.NET 7.0;如果电脑是 64 位 Windows,请选择 Windows x64 版本下载并安装。
- 下载 HUSKYLENS 2 模型安装包生成器工具:点击下载。
3.4.2 生成 HUSKYLENS 2 物体分类模型安装包
下载并解压工具后,双击运行 HUSKYLENS2_Package_Generator.exe。工具界面如下。
HUSKYLENS2_Package_Generator 的各功能区域及操作步骤如下。
下面以猫狗分类为例,演示生成物体分类模型安装包的完整流程。如果你想跟随示例操作,请下载数据集和模型示例。
开始之前,请先在工具顶部完成以下三项基础设置:
- 选择界面语言:切换到你习惯的语言(支持 English、简体中文、繁體中文等八种语言)。
- 选择输出目录:选择安装包的保存位置,生成的 ZIP 安装包将保存到该目录。
- 选择数据来源:保持默认的 YOLO 即可。
步骤一:选择数据集文件夹
点击 数据集文件夹,选择并加载分类数据集文件夹。使用样例数据集时,请选择 sample_datasets/Classification/Cat and Dog Classification Dataset 文件夹。
步骤二:选择 ONNX 模型
点击 ONNX 模型,选择并加载使用该数据集训练并导出的分类 ONNX 模型文件。使用样例模型时,请选择 sample_datasets/Classification/cat_and_dog-cls.onnx。
步骤三:确认模型参数信息
加载模型后,工具会自动检测并显示相关参数。请检查参数是否正确,并确认其与训练时的设置一致。对于分类任务,请确认“任务类型”显示为“分类”。
步骤四:完成模型应用在 HUSKYLENS 2 中的相关设置
-
在 应用名称 中设置模型部署到 HUSKYLENS 2 后显示的应用名称,例如
猫狗物体分类。 -
手动换行:输入框输入应用名称时,按 Enter 会插入
\n换行符。 -
自动换行:英文每行最多 12 个字母,中文每行最多 6 个文字,超出部分会自动换行,最多显示两行。
-
点击 添加 可设置其他语言对应的应用名称;用户可添加八种语言中的其他语言名称;未单独填写的语言使用当前默认名称补齐;切换 HUSKYLENS 2 的系统语言时,应用名称也会相应切换。
工具会为模型应用分配默认图标。你也可以点击 选择图标,选择本地图片作为该应用在 HUSKYLENS 2 中显示的图标。
- 应用图标建议使用正方形、透明背景、白色线条的图片(与 HUSKYLENS 2 原生图标风格一致),也支持彩色图标;尺寸为 60 × 60 像素,选择其他尺寸的图片会被自动处理为 60 × 60。
你还可以设置模型在 HUSKYLENS 2 中的默认识别阈值。
完成以上设置后,点击 开始 生成模型安装包。在生成完成前,请勿关闭工具。
生成的物体分类模型安装包可在所选输出目录中找到。安装包命名格式为“应用名-模型版本-任务类型-输入尺寸.校验码.zip”。分类任务的任务类型为 cls,例如 Cat_Dog-YOLO11n-cls-640.xxxx.zip。
- 请勿修改生成的 ZIP 安装包,包括包内文件和安装包文件名,否则 HUSKYLENS 2 将无法识别该安装包。
3.4.3 部署自训练物体分类模型至 HUSKYLENS 2
生成安装包后,即可将其安装到 HUSKYLENS 2。操作步骤与目标检测模型相同:
使用 USB 线将 HUSKYLENS 2 连接到电脑,电脑上会出现一个名为 HUSKYLENS 2 的 U 盘。
Huskylens\storage\installation_package
在 HUSKYLENS 2 屏幕上打开“模型安装(Model Installation)”,然后选择“本地安装(Local Installation)”。
安装完成后,你就可以在功能列表中找到自己训练的物体分类模型了。
点击模型图标即可观察该模型的分类效果。以下是猫狗分类模型的分类效果。
测试图片如下。
如需删除模型,请在屏幕上找到已部署的自训练模型,长按应用图标,然后点击“确定”。
4. 实例分割模型安装
4.1 什么是实例分割模型
实例分割(Instance Segmentation)在目标检测的基础上更进一步:它不仅能识别画面中的每个物体并框出位置,还能通过蒙版精确描绘物体轮廓。
例如,画面中有几朵花时,目标检测会用方框标出花的位置;实例分割则会沿每朵花的边缘生成彩色蒙版,并标注类别和置信度。你可以把它理解为“既标出位置,也描绘形状”。
实例分割模型的特点可以概括为:
- 每个目标都包含:位置框 + 精确轮廓(蒙版)+ 类别名称 + 置信度。
- 能精确描绘物体的形状,信息比目标检测更丰富。
- 适合"需要知道物体精确形状、轮廓"的场景,例如花朵分割、零件轮廓检测等。
HUSKYLENS 2 支持部署 YOLOv8n-seg 和 YOLO11n-seg 两种轻量级分割架构。下面就以 YOLO 实例分割模型为例,介绍如何训练并部署。
4.2 YOLO 实例分割数据集准备
实例分割数据集的结构与目标检测数据集基本相同,同样由“图片 + 标签 + data.yaml”组成。区别在于:标签文件记录的是物体轮廓的多边形顶点坐标,而不是边界框。
一个标准的 YOLO 实例分割数据集,文件夹结构如下:
dataset_dir
├── data.yaml
├── images
│ ├── train
│ │ ├── image_001.jpg
│ │ └── ...
│ └── val # 可选;转换时不会读取
│ └── ...
└── labels
├── train
│ ├── image_001.txt
│ └── ...
└── val # 可选;转换时不会读取
└── ...
其中 data.yaml 的内容示例如下:
path: ./
train: ./images/train
val: ./images/val
names:
0: flower
实例分割标签文件(.txt)与目标检测标签文件的内容不同:目标检测标签的每一行记录“类别 + 边界框中心坐标 + 宽高”(共 5 个数),实例分割标签的每一行则记录“类别 + 一组多边形顶点坐标”(class x1 y1 x2 y2 ... xn yn,至少 3 个点),由这些顶点勾勒物体轮廓。
这里提供了一个花朵分割数据集(Flower Segmentation Dataset),可直接用于实例分割模型训练:数据集和模型示例。
关于 YOLO 实例分割数据集更详细的格式说明,建议阅读 Ultralytics 官方教程:快速入门。
4.3 实例分割模型训练
数据集准备好之后,就可以开始训练模型了。实例分割模型的训练同样使用 Ultralytics 库,如果你还不熟悉,可以先参考 Ultralytics 官方入门教程:快速入门。
请特别注意以下两点:
- HUSKYLENS 2 仅支持架构为 YOLOv8n-seg 和 YOLO11n-seg 的自训练分割模型,其他架构都不支持,训练时请只在这两类里选择。
- HUSKYLENS 2 仅支持 224 × 224、320 × 320 和 640 × 640 这三种输入尺寸。训练时选择的输入尺寸,应与后面生成安装包时保持一致。
下面给出完整的训练代码示例,只需将其中的路径替换为实际路径:
from ultralytics import YOLO
if __name__ == "__main__":
# 加载预训练分割模型
# HUSKYLENS 2 仅支持 "yolov8n-seg.pt" 和 "yolo11n-seg.pt" 两种,请勿使用其他型号
model = YOLO("yolov8n-seg.pt") # 也可以换成 "yolo11n-seg.pt"
# 训练模型
# data : 数据集配置文件 data.yaml 的路径,请替换成实际路径
# epochs: 训练轮数,轮数越多通常精度越高,但耗时也越长,可先从 30 开始
# imgsz : 输入图片尺寸,HUSKYLENS 2 仅支持 224 / 320 / 640
results = model.train(
data="path/to/data.yaml", # 例如 r"D:\...\Flower Segmentation Dataset\data.yaml"
epochs=30,
imgsz=640,
)
训练完成后,Ultralytics 会在 runs/segment/train/weights/ 目录下生成模型权重文件,其中 best.pt 是效果最好的模型。
训练得到的是 .pt 格式的模型文件,而 HUSKYLENS 2 的模型安装需要 ONNX 格式的模型。因此还需要把 .pt 转换成 .onnx。转换代码如下:
from ultralytics import YOLO
if __name__ == "__main__":
# 加载训练好的分割模型权重(请替换成你的 best.pt 实际路径)
model = YOLO("path/to/best.pt") # 例如 r"D:\...\runs\segment\train\weights\best.pt"
# 导出为 ONNX 格式,导出后会在同目录下生成 best.onnx
# imgsz 需与训练时的输入尺寸保持一致(224 / 320 / 640)
model.export(format="onnx", imgsz=640)
执行成功后,best.pt 所在目录中会生成 best.onnx 文件,后续生成安装包时将使用该文件。
你可以使用数据集和模型示例,参考上方代码训练花朵分割模型。下载的样例文件中还包含已经训练并导出的 ONNX 模型。
关于训练和导出教程,请参考 Ultralytics 官方分割任务教程:Instance Segmentation。
4.4 生成安装包
训练并导出 ONNX 模型后,同样需要将其打包为 HUSKYLENS 2 能够识别的 ZIP 安装包。这里使用的仍是前两节介绍的 HUSKYLENS 2 模型安装包生成器。
4.4.1 下载 HUSKYLENS 2 模型安装包生成器
如果已按照前文安装 .NET 7.0 运行环境并下载 HUSKYLENS2_Package_Generator.exe,可直接跳到 4.4.2 节;否则,请先完成以下准备:
- 电脑使用 Windows 系统,且为 Windows 10 及以上版本。
- 安装 .NET 7.0 运行环境(程序运行依赖)。请点击打开 .NET 7.0 下载页面:.NET 7.0;如果电脑是 64 位 Windows,请选择 Windows x64 版本下载并安装。
- 下载 HUSKYLENS 2 模型安装包生成器工具:点击下载。
4.4.2 生成 HUSKYLENS 2 实例分割模型安装包
下载并解压工具后,双击运行 HUSKYLENS2_Package_Generator.exe。工具界面如下。
HUSKYLENS2_Package_Generator 的各功能区域及操作步骤如下。
下面以花朵分割为例,演示生成实例分割模型安装包的完整流程。如果你想跟随示例操作,请下载数据集和模型示例。
开始之前,请先在工具顶部完成以下三项基础设置:
- 选择界面语言:切换到你习惯的语言(支持 English、简体中文、繁體中文等八种语言)。
- 选择输出目录:选择安装包的保存位置,生成的 ZIP 安装包将保存到该目录。
- 选择数据来源:保持默认的 YOLO 即可。
步骤一:选择数据集文件夹
点击 数据集文件夹,选择并加载包含 data.yaml 的分割数据集文件夹。使用样例数据集时,请选择 sample_datasets/Instance Segmentation/Flower Segmentation Dataset 文件夹。
步骤二:选择 ONNX 模型
点击 ONNX 模型,选择并加载使用该数据集训练并导出的分割 ONNX 模型文件。使用样例模型时,请选择 sample_datasets/Instance Segmentation/flower-seg.onnx。
步骤三:确认模型参数信息
加载模型后,工具会自动检测并显示相关参数。请检查参数是否正确,并确认其与训练时的设置一致。对于分割任务,请确认“任务类型”显示为“分割”。
步骤四:完成模型应用在 HUSKYLENS 2 中的相关设置
-
在 应用名称 中设置模型部署到 HUSKYLENS 2 后显示的应用名称,例如
花朵实例分割。 -
手动换行:输入框输入应用名称时,按 Enter 会插入
\n换行符。 -
自动换行:每行最多显示 12 个半角字符或 6 个全角字符,超出部分会自动换行,最多显示两行。
-
点击 添加 可设置其他语言对应的应用名称;用户可添加八种语言中的其他语言名称;未单独填写的语言使用当前默认名称补齐;切换 HUSKYLENS 2 的系统语言时,应用名称也会相应切换。
工具会为模型应用分配默认图标。你也可以点击 选择图标,选择本地图片作为该应用在 HUSKYLENS 2 中显示的图标。
- 应用图标建议使用正方形、透明背景、白色线条的图片(与 HUSKYLENS 2 原生图标风格一致),也支持彩色图标;尺寸为 60 × 60 像素,选择其他尺寸的图片会被自动处理为 60 × 60。
你还可以设置模型在 HUSKYLENS 2 中的默认识别阈值。
步骤五:生成模型安装包
完成以上设置后,点击 开始 生成模型安装包。在生成完成前,请勿关闭工具。
实例分割模型安装包生成成功后,会出现以下提示。
生成的实例分割模型安装包可在所选输出目录中找到。安装包命名格式为“应用名-模型版本-任务类型-输入尺寸.校验码.zip”。分割任务的任务类型为 seg,例如 Flower-YOLO11n-seg-640.xxxx.zip。
- 请勿修改生成的 ZIP 安装包,包括包内文件和安装包文件名,否则 HUSKYLENS 2 将无法识别该安装包。
4.4.3 部署自训练实例分割模型至 HUSKYLENS 2
生成安装包后,即可将其安装到 HUSKYLENS 2。操作步骤与目标检测、物体分类模型相同:
使用 USB 线将 HUSKYLENS 2 连接到电脑,电脑上会出现一个名为 HUSKYLENS 2 的 U 盘。
把生成的 ZIP 安装包复制到 U 盘中的以下路径:
Huskylens\storage\installation_package
在 HUSKYLENS 2 屏幕上打开“模型安装(Model Installation)”,然后选择“本地安装(Local Installation)”。
安装完成后,你就可以在功能列表中找到自己训练的实例分割模型了。
点击模型图标即可观察该模型的识别效果。以下是花朵分割模型的分割效果。
测试图片如下。